home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
9-Digit Zip Code Directory
/
9-Digit Zip Code Directory (American Business Information) (ABIZIP-12).ISO
/
z4src.zip
/
BSDEFN.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-09-11
|
5KB
|
169 lines
//----------------------------------------------------------------------------
// MODULE DESCRIPTION
//
// Module: bsdefn.h
// Title: Base library
// Notice: John M. Weeder
// Copyright (c) 1993. All rights reserved.
// This module contains proprietary information and should be
// treated as confidential.
//
//----------------------------------------------------------------------------
// MAINTENANCE HISTORY
//
// $Workfile$
// $Revision$
// $Author$
// $Date$
// $Log$
//
//----------------------------------------------------------------------------
// MODULE NARRATIVE
//
//
// This module contains compiler specific preprocessor statements. The goal
// of this header file is to attempt to recognize the compiler and
// environment through predefined macros.
//
// The code in this module should be written entirely in C.
// Do not use any C++ constructs.
//
// This module is portable to:
// DOS 3.X+
// MS Windows 3.X+
// OS/2 2.X+
// OS/2 2.0 PM
// SCO UNIX.
//
// The following compilers are supported:
// MSC 6.0A
// MSC/C++ 7.0
// Borland C++ 3.1 for DOS
// Borland C++ 1.0 for OS/2 2.X
// SCO UNIX cc
//
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// Misc
//----------------------------------------------------------------------------
#define COMPILE_DEBUG
//----------------------------------------------------------------------------
// Compiler and operating system specific directives
//----------------------------------------------------------------------------
#ifdef __BORLANDC__ // If Borland compiler, set defines.
# define COMPILER_BORLAND
# ifdef __DLL__
# define COMPILE_DLL // Windows or OS/2 DLL
# endif
# ifdef __MT__ // Multi-thread OS/2
# define COMPILE_MT
# endif
# ifdef __MSDOS__ // MS-DOS
# define OS_DOS
# endif
# ifdef __OS2__ // OS/2 2.X
# define OS_OS2
# endif
# if __cplusplus // C++ file?
# define COMPILE_CPP
# endif
# ifdef _Windows // Windows 3.X
# define OS_WINDOWS
# undef OS_DOS
# endif
#elif _MSC_VER // Microjunk C 6.0/7.0
# define COMPILER_MSC
# if (_MSC_VER <= 600)
# pragma message("Microsoft 6.0 compile")
# define COMPILER_MSC_6
# else
# pragma message("Microsoft 7.0 compile")
# define COMPILER_MSC_7
# endif
# ifdef _WINDOWS // Windows 3.X
# pragma message("Windows 3.X Target Operating System")
# define OS_WINDOWS
# elif MSDOS // DOS compiler
# pragma message("MS-DOS Target Operating System")
# define OS_DOS
# endif
# ifdef _OS2 // MSC OS/2 1.3 compiler
# pragma message("OS/2 1.3 Target Operating System")
# define OS_OS2
# endif
# ifdef _WINDLL // Windows DLL
# pragma message("Windows DLL")
# define COMPILE_DLL
# endif
# if __cplusplus // C++ file?
# pragma message("C++ compilation")
# define COMPILE_CPP
# endif
# pragma pack(1) // Zinc requires byte alignment
#elif M_UNIX // SCO UNIX
# define OS_UNIX
# define COMPILER_UNIX
#else // Otherwise, default to ANSI
# define OS_ANSI
# define COMPILER_ANSI
#endif
//----------------------------------------------------------------------------
// Set windows version
//----------------------------------------------------------------------------
#ifdef OS_WINDOWS
#ifndef WINVER
#define WINVER (0x0300) // Windows 3.0+
#endif
#ifndef STRICT // Strict type matching!
#define STRICT
#endif
#endif
////////////////////////////////////////////////////////////////////////////////
//@topic Warnings | The following warnings are disabled:<nl>
// C4094<nl>
// C4103 - pragma pack used to change packing<nl>
// C4127 - Conditional constant (Debug only, because of asserts)<nl>
// C4147<nl>
// C4201 - nameless unions are part of C++<nl>
// C4211<nl>
// C4514 - Unreferenced inline functions are allowed<nl>
// C4699<nl>
// C4702 - unreachable code caused by optimizations<nl>
// C4704<nl>
// C4705 - Statement has no effect, OK in debug<nl>
//@devnote PC-Lint should be used on all files in order to eliminate all
// warnings.
#ifdef COMPILER_MSC
# ifndef ALL_WARNINGS
# pragma warning(disable: 4094)
# pragma warning(disable: 4103)
# pragma warning(disable: 4147)
# pragma warning(disable: 4201)
# pragma warning(disable: 4211)
# pragma warning(disable: 4514)
# pragma warning(disable: 4699)
# pragma warning(disable: 4209)
# pragma warning(disable: 4214)
# pragma warning(disable: 4001)
# pragma warning(disable: 4505)
# ifdef COMPILE_DEBUG
# pragma warning(disable: 4705)
# pragma warning(disable: 4127)
# else
# pragma warning(disable: 4702)
# pragma warning(1:4705; 2:4705; 3:4705; 4:4705)
# endif
# pragma warning(disable: 4704)
# endif
#endif
//----------------------------------------------------------------------------
//------------------------------- End of File --------------------------------
//----------------------------------------------------------------------------